package com.csyf.manager.service;

import com.csyf.manager.entity.SysAliAccount;
import com.csyf.manager.utils.page.JqGridVo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Author: casper
 * @Description: 支付宝账户BIZ
 * @Date: Created in 2018/10/25 18:52
 */
public interface SysAliAccountBiz {

    /**
     * 查询支付宝账户列表
     * @param vo
     * @param page
     * @param rows
     * @return
     */
    JqGridVo querydata(SysAliAccount vo, Integer page, Integer rows);


    /**
     * 查询支付宝账户余额
     * @param vo
     * @param page
     * @param rows
     * @return
     */
    JqGridVo queryAccountBalance(SysAliAccount vo, Integer page, Integer rows);


    List<SysAliAccount> select(SysAliAccount vo);

    /**
     * 保存支付宝账户
     * @param vo
     */
    void saveAccount(SysAliAccount vo) throws Exception;

    /**
     * 根据id查询支付宝账户
     * @param id
     * @return
     */
    SysAliAccount findById(Long id);


    SysAliAccount findByAppid(String appid);

    /**
     * 修改支付宝账户
     * @param vo
     * @return
     */
    int updateAccount(SysAliAccount vo);

    /**
     * 删除支付宝账户
     * @param accountId
     */
    void deleteAccount(Long accountId);


    /**
     * 停用账户
     * @param id
     */
    void stopaccount(Long id);


    /**
     * 启用账户
     */
    void startaccount(Long id);


    /**
     * 交易满额
     * @param appid  上游商户号
     */
    void quotaAll(String appid);


    /**
     * 将额度清0
     * @param id
     */
    void clearquota(Long id);


    /**
     * 分配商户 ，对应的商户列表
     *
     * @param id
     * @return
     */
    ArrayList<Map> merhcantlist(Long id);


    /**
     * 分配商户，设置费率
     * @param id
     * @param agentId
     * @param rate
     */
    void issueMerchant(Long id, Long agentId, String rate);
}
